#!/usr/bin/python
# coding=utf-8
import re;
import shutil;
import os;
import sys;
import paramiko;

#--------------------------------
#  程序处理 仲伟涛
#--------------------------------

iconIp       = 'rains.im';  # icon地址
iconUserName = 'luobo525';  #ssh登录账户 和密码
iconPassWd   = 'woaini';
iconBasePath = '/www/52zuomeng.com/';
localBasePath = '/opt/lampp/htdocs/AllApp/';

#打包
ifdoit = raw_input('要打包程序吗 ???? (y/n)');
if ifdoit == 'y' :
    print '打包文件...';
    #删除一些文件不能影响线上的
    cmd = 'rm -f ' + localBasePath + 'Html/Dream/index.shtml';
    os.system(cmd);
    
    cmd = 'cd ' + localBasePath +';rm web.tar.gz;tar -zcvf web.tar.gz App Config  DAL Framework Html Libs Modules';
    os.system(cmd);
    
ifdoit = raw_input('上传包文件吗 ???? (y/n)');
if ifdoit == 'y' :
    print '登录服务器,上传打包的文件 ...';
    #创建上传的管道
    socks=(iconIp)
    transport=paramiko.Transport(socks)
    transport.connect(username=iconUserName, password=iconPassWd)
    sftp = paramiko.SFTPClient.from_transport(transport)
    print '登录成功 ...';
    localpath = localBasePath + 'web.tar.gz';
    remotepath = iconBasePath + 'web.tar.gz';
    sftp.put(localpath,remotepath)
    sftp.close()
    transport.close()
    print '上传成功 ...';

ifdoit = raw_input('执行解包吗 ???? (y/n)');
if ifdoit == 'y' :
    #登录服务器解包
    print '执行解包 ...';
    ssh = paramiko.SSHClient();
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy());
    ssh.connect(iconIp, username=iconUserName, password=iconPassWd);
    cmd = 'cd /www/52zuomeng.com/;tar -xzvf web.tar.gz';
    stdin, stdout, stderr = ssh.exec_command(cmd);
    lines = stdout.readlines();
    for line in lines :
        print line; 
    ssh.close();

print '处理完成,检查结果吧,发布一下缓存和首页吧 ...';




